/*
 * Copyright (C) 2009 Ionut Dediu <deionut@yahoo.com>
 *
 * Licensed under the GNU General Public License Version 2
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

// SmartCamSettingsData.h

#ifndef __SMARTCAM_SETTINGS_DATA_H__
#define __SMARTCAM_SETTINGS_DATA_H__

#include <e32base.h>

// Forward declarations
class RReadStream;
class RWriteStream;

class CSmartCamSettingsData : public CBase
{
public:
	static CSmartCamSettingsData* NewL();
	static CSmartCamSettingsData* NewLC();
	virtual ~CSmartCamSettingsData();

	void LoadL(RReadStream& aStream);
	void SaveL(RWriteStream& aStream) const;

	inline TInt& InetPort() { return iInetPort; }
	inline TInt& CameraSrcIndex() { return iCameraSrcIdx; }
	inline TInt& CameraResolutionIndex() { return iCameraResolutionIdx; }
	inline TInt& CameraFPSIndex() { return iCameraFPSIdx; }
	inline TInt& ConnectionType() { return iConnectionType; }
	inline TDes& InetServer() { return iInetServer; } // IP addr or hostname
	inline TDes& BtServerAddr() { return iBtServerAddr; }
	inline TDes& BtServerFriendlyName() { return iBtServerFriendlyName; }

private:
	CSmartCamSettingsData();
	void ConstructL();

	// Data:
	TInt iInetPort;
	TInt iCameraSrcIdx;
	TInt iCameraResolutionIdx;
	TInt iCameraFPSIdx;
	TInt iConnectionType;
	TBuf<100> iInetServer;
	TBuf<100> iBtServerAddr;
	TBuf<100> iBtServerFriendlyName;
};

#endif//__SMARTCAM_SETTINGS_DATA_H__
